前幾天呢,介紹 K8S 如何單機連線,今天就來介紹一下怎麼樣可以連接兩台虛擬機。因為怕有人忘記或是遺漏之前安裝 kubernetes 的步驟,所以這裡再複習一次,但是這裡會直接貼上安裝的 code ,不會講解囉,有興趣了解更多的人可以到 DAY5 看看。
kubernetes 快速安裝指南
apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
apt-get update && apt-get install docker-ce=18.06.0~ce~3-0~ubuntu
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
記得 :wq 儲存並退出 /etc/docker/daemon.json
mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload
systemctl restart docker
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet=1.15.6-00 kubeadm=1.15.6-00 kubectl=1.15.6-00
apt-mark hold kubelet kubeadm kubectl
安裝好後,把這台虛擬機關掉,再製它,這樣你就可以得到一台也安裝好 kubernetes 套件的另一台虛擬機了。
接著把兩台虛擬機都打開,以下為了解說方便,分為 Master 及 Node 來解說。
Master
swapoff -a
vim /etc/resolv.conf
將 nameserver 改為 8.8.8.8
kubeadm init --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
將 Master 做 kubeadm init 後得到 kubeadm join.....那個指令複製下來,等等會用到。
Node
swapoff -a
vim /etc/resolv.conf
將 nameserver 改為 8.8.8.8
kubeadm join 10.0.2.15:6443 --token pxcfz0.4p2zn199iyca5nlh \
--discovery-token-ca-cert-hash sha256:ecc99610139e0c8e78ed1dabd7a1a40ff5cb5a5a35ed52596e8f7bda3c35347c
這裡貼的是剛剛請你複製下來的指令,每個人都不一樣喔!
Master
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/62e44c867a2846fefb68bd5f178daf4da3095ccb/Documentation/kube-flannel.yml
kubectl get node
就可以看到 Master 連到 Node囉~~